package com.winning.pmph.mapper;

import com.winning.pmph.entity.Tag;
import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
// 缓存  由于项目中使用全量tag转map查询比较多, 默认readwrite需要深拷贝一份交给线程使用, 全量数据拷贝一份时间空间开销都较大,
// 故全局采用相同实例, 不再拷贝, 但各线程内可能对该数据有所改动, 如果修改后未操作数据库, 或者事务失败, 会导致缓存与数据库不一致, 故每小时刷新一次;
@CacheNamespace(readWrite = false, flushInterval = 60 * 60 * 1000)
public interface TagMapper extends PMPHBaseMapper<Tag> {
    String getParentIdByChildId(@Param("childId") String childId);

    String getTagNameParentIdByChildId(@Param("childId") String childId);
}

